package net.suncaper.hotel.service;

import net.suncaper.hotel.common.utils.PageInfo;
import net.suncaper.hotel.model.dto.RoomDTO;
import net.suncaper.hotel.model.dto.RoomTypeDTO;
import net.suncaper.hotel.model.vo.RoomTypeVO;
import net.suncaper.hotel.model.vo.RoomVO;

import java.util.List;

/**
 * 房间服务接口
 */
public interface IRoomService {
    
    // 房间类型相关
    List<RoomTypeVO> getRoomTypeList();
    boolean createRoomType(RoomTypeDTO dto);
    boolean updateRoomType(RoomTypeDTO dto);
    boolean deleteRoomType(Integer id);
    
    // 房间相关
    PageInfo<RoomVO> getRoomList(int pageNum, int pageSize);
    List<RoomVO> getRoomsByStatus(String status);
    List<RoomVO> getRoomsByType(Integer roomTypeId);
    RoomVO getRoomById(Integer id);
    boolean createRoom(RoomDTO dto);
    boolean updateRoom(RoomDTO dto);
    boolean updateRoomStatus(Integer id, String status);
    boolean deleteRoom(Integer id);
}